﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AsmDependency.Utility;

namespace AsmDependency.Core.AsmApplication
{
    public interface IAsmApplicationIdentity
    {
        event EventHandler Startup;

        string GetSetting(string settingName);
        string GetSetting(string settingName, bool allowCommandLineOverride);
        bool OnUnhandledException(Exception e);
        void SetSetting(string settingName, string settingValue);
        void ShowHelpTopics();

        string ApplicationPath { get; }

        string ApplicationPrivatePath { get; }

        //MxApplicationWindow ApplicationWindow { get; }

        CCommandLine CommandLine { get; }

        string ComponentsPath { get; }

        string Name { get; }

        string PluginsPath { get; }

        string PreferencesFileName { get; }

        string TemplatesPath { get; }

        string Title { get; }

        IDictionary WebLinks { get; }
    }
}
